\documentclass{beamer}

\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
%\usepackage{amssym}
\usepackage{graphicx}
\usepackage[labelsep=endash]{caption}
%\usepackage{mathtext}
%\usepackage{amsmath,amssymb,amsthm,amscd,amsfonts, graphics}

\usetheme{CambridgeUS}
\usefonttheme{structuresmallcapsserif}
\setbeamertemplate{navigation symbols}{}
\pdfcompresslevel=9

\title[Полутоновые матр. штрихкоды]
	{Полутоновые матричные штрихкоды}  	
\author[Тумашик Игорь]{Тумашик Игорь Александрович}
\institute{ФПМИ}
\date[БГУ,  июнь 2013]{Минск, БГУ, \\ июнь 2013} 


\begin{document}

\begin{frame}
\begin{center}
    БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
\end{center}

\titlepage
\end{frame} 

\begin{frame}{Содержание}
\tableofcontents
\end{frame}

\section{Введение}
\begin{frame}{Введение}

Одной из важнейших характеристик любого штрихкода является площадь
занимаемая на рабочей поверхности. В то же время понятно, что невозможно
бесконечно уменьшать размеры элементов кода. Вывод напрашивается 
сам собой: следует
увеличить информативность наименьшего элемента кода, чтобы добиться
уменьшения размера всего штрихкода. Логично использовать для этого
градации яркости~--- от чёрного до белого. Будем такие коды 
называть \textit{полутоновыми}. 



\begin{block}{Цель}
Другими словами, \textit{цель работы}~--- предложить матричный штрихкод,
который бы позволил увеличить объём хранимых данных без увеличения линейных
размеров рисунка. 
В качестве пути решения этой проблемы выбрано увеличение числа доступных
оттенков серого.
\end{block}

\end{frame}

\section{Общие сведения}
\begin{frame}{Общие сведения}
\textbf{Штрихкод} (сокр. от <<\textit{штриховой код}>>, англ. 
<<\textit{bar code}>>) --- графическая информация, наносимая на 
поверхности предметов, предназначенная для обработки техническими
средствами.



\begin{itemize}

\item Линейные штрихкоды

\item Двумерные штрихкоды

	\begin{itemize}
	\item Стековые штрихкоды
	\item Матричные штрихкоды
	\end{itemize}
\end{itemize} 
\end{frame}

\subsection{Примеры кодов}

\begin{frame}{Линейный и стековый коды}
\begin{center}
\includegraphics[scale=0.5]{img/ean_sample} 

\includegraphics{img/pdf417_sample}
\end{center}
\end{frame}

\begin{frame}{Матричные коды}
QR-код:
    
\begin{center}
\includegraphics[scale=0.7]{img/qr_sample} 
\end{center}



Data matrix:
\begin{center}
    \includegraphics[scale=0.7]{img/dm_sample}
\end{center}

\end{frame}

\begin{frame}{Матричные коды}
Aztec Code:
    
\begin{center}
\includegraphics[]{img/ac_big}  
\end{center}

\end{frame}

\section{Эффективность кода}
\begin{frame}{Эффективность кода}

\textit{Эффективностью штрихкода} $C$ назовём величину 

\begin{equation}
	\label{eq:theta}
	\theta_C(b, q) = \frac{b}{d(b, q)},
\end{equation}
где $d(b, q)$ ---
число барселей, которые необходимы для того, чтобы зашифровать сообщение
длинной $b$ бит при конфигурации кода $q$. 



\textit{Предельной эффективностью кода} назовём величину

\begin{equation}
	\label{eq:Theta}
	\Theta_C(q) = \lim_{b \to \infty }\theta_C(b, q).
\end{equation}

\end{frame}

\begin{frame}{Эффективность кода}

\begin{center}

\begin{tabular}{|c|c|c|c|}
\hline 
 & \textbf{QR Code} & \textbf{Data Matrix} & \textbf{Data Matrix} \\  
\hline 
$\theta_C(b, q)$ & 0.81 & 0.60 & 0.67 \\ 
\hline 
$q$ & 7\%, 15\%, 25\%, 30\% & $\sim$ 30\% & 
5\%--95\% \\
\hline 
$\Theta_C(q)$ & 0.63--0.88 & 0.63 & 0.34--0.91 \\ 
\hline 
\end{tabular}

\end{center}

$q$  --- уровень коррекции ошибок

\end{frame}

\section{HT-код}

\begin{frame}{HT-код}
\begin{center}
\includegraphics[scale=0.3]{img/codeGrid}
\end{center}

\begin{itemize}

\item Серые участки~--- информация о сообщении (длинна, число уровней, тип содержимого).


\item Белые участки~--- данные и корректировка ошибок (код Рида--Соломона).


\item Код может содержать 2, 3, 4, 8 градаций серого.


\item Уровень коррекции ошибок 20\%, 25\%, 40\%, 45\% 
соответственно.
\end{itemize}

\end{frame}

\begin{frame}{Пример}

\begin{center}
\includegraphics[]{img/tobe3}
\end{center}

\end{frame}

\section{Распознавание}
\begin{frame}{Распознавание}
\begin{enumerate}
\item Получить растровое изображение области.



\item Изображение бинаризуется (при необходимости). 



\item В чёрно-белом изображении производиться поиск штрихкода.



\item Далее необходимо произвести перспективное преобразование.

\begin{center}
\includegraphics[scale=0.4]{img/pers_trans}
\end{center}


\item По полученной матрице считывается массив байтов. Определяется
размер сообщения.


\item Производится поиск и коррекция ошибок. 


\item Скорректированный массив преобразуется в нужное представление.  

\end{enumerate} 
\end{frame}

\section{Результаты работы}

\begin{frame}{Результаты работы}

\begin{itemize}
\item Разработан принципиально новый формат матричных штрихкодов.

\item Что позволило поднять предельную эффективность кода до 1.06--1.58.

\item Работа также содержит реализацию библиотеки кодирования/декодирования. 
\end{itemize}

\end{frame}

\section{Заключение}
\begin{frame}{Заключение}
Результатом работы стала разработка принципиально нового формата 
матричного штрихкода~--- HT-кода. Его отличительной особенностью 
является представление данных не только тёмными или светлыми 
участками, но и промежуточными значениями яркости (полутоновый код). 

Кроме собственно описания, реализована и испытана библиотека
кодирования/декодирования HT-кода, доказавшая практическую 
пригодность.


 
B целом можно сказать, что цели, поставленные в работе, 
достигнуты.
\end{frame}
 
\end{document}